login:        password:      
Combats Scrolls
Rambler's Top100
Гость БК
Profile Friend page
ru
 10-06-07 @ 03:25
TIMBER VOLF Open user info Open user photogallery
Тайловый 3D
В начале выясним, что это такое и почему нас не устраивает обычная, полигонная архитектура.
Что мы видим на экране монитора? Мы видим 2-х мерную проекцию трёхмерного мира. В этом мире все объекты состоят из полигонов(треугольников и многоугольников). У каждого полигона есть ряд свойств: координаты (х,y,z)вершин, цвет вершин, глобальные свойства полигона (например текстура).
Для того чтобы вы смогли взаимодействовать с этим миром необходимо менять последовательно кадры, на каждом из которых вы будете видеть своё действие. Чтобы построить кадр, ускорителю необходимо выполнить ряд последовательных действий, которые и получили название конвеера. Конвеер состоит из нескольких этапов: Трансформация и освещение, удаление невидимых поверхностей, текстурирование и затенение. Общее количество подэтапов 10 или более.
Траиционный рендеринг:
Все полигоны сцены в этом процессе рендерятся поочерёдно. Пока послежний полигон не пройдёт через 3D конвеер, система не имеет ни малейшего представления о том какая сцена завершена а какая нет. Следовательно через коныеер пройдут все полигоны, даже те которых мы не увидим, что приводит к бесполезной трате вычислительных ресурсов системы. Когда все полигоны соёдут с 3D конвеера система решит, какой пиксель выводить на экран, а какой нет. Для решения этого вопроса применяется Z-буфер.В Z-буфере хранится значение удалённости каждого пикселя от виртуальной камеры. Пример Overdraw: 2 перекрывающихся треугольника. В конвеер попадает сначала первый а затем второй треугольник. Всё это текстурируется, освещается,затемняется. Затем в Z-буфер, и те пиксели нижнего треугольника которые перекрыты верхним на экран не выводятся. Трата ресурсов очевидна.

Тайловый рендеринг:
Overdraw-характеризует среднее число перекрытий в 3-х мерной сцене.
Для минимизации Overdraw изображение разбивается на маленькие прямоугольники - тайлы. Их размер может быть 32х32, 16х16, 32х16 и т.д. пикселей.
Z-буфер в тайловом рендеринге распологается в самом чипе, а не в памяти ускорителя, как в традиционной архитектуре. Все невидимые поверхности удаляются ещё на стадии чистых полигонных моделей. Если представить таких же два перекрывающихся треугольника то произойдёт следующее:
изображение будет разбито на тайлы. Каждый тайлы пройдут обработку, где будут отброшены все невидимые участки. В результате обработке подвергнется только видимая часть нижнего треугольника и видимая часть верхнего треугольника.

Что происходит когда мы запускаем игру?
Начинается построение каркасной модели трёхмерной сцены, состоящей из полигонов. Строится эта сцена полигон за полигоном. До тех пор пока последний полигон не займёт своё место. Вся работа здесь ложится на CPU и T&L. Построение закончится когда всеполигоны займут своё место в кадровом буфере.
Далее всё изображение разбивается на тайлы. Все полигоны считываются из кадрового буфера и проходят сортировку, благодаря которой ускоритель будет знать, в каких именно тайлах находится тот или иной полигон. Зачастую полигон может лежать в нескольких тайлах. Затем для каждого тайла выделяется область памяти-тайловый буфер в котором хранится значение номера полигона содержащегося в данном тайле.
Таков алгоритм тайловых ускорителей.
Интересно!? Хотите ещё что нибудь новенького?! Ждите последующих обновлений!

© TIMBER VOLF

Update: 10-06-07 05:21
Далее темы: Безопасность в сети, Методы криптографии, краткие словари и термины, Методы защиты от атак!

Mood: Всегда такое=)
Music: Что то напевают колонки))
tags: IT

Я думаю, что это: Scrolls.multiLike:)

view mode: linear threads

Disscuss opened for regisered users only.



 
 © 2007–2024 «combats.com»
  18+  
feedback